﻿Imports ASAP.InterfazNegocio

Public Class wInicial

#Region "Eventos"

    Private Sub wInicial_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        Try
            Me.cbNivel.SelectedItem = Me.cbNivel.Items(2)
            Me.cbTipoEjercicio.SelectedItem = Me.cbTipoEjercicio.Items(0)
            Me.cbModo.SelectedItem = Me.cbModo.Items(0)

            'Carga combo teorias
            Dim ListaTeorias As Generic.IList(Of ASAP.TiposDatosSTE.Teoria) = Agente.DameTeorias
            Dim Todo As New ASAP.TiposDatosSTE.Teoria()
            Todo.TituloTeoria = "Todo"
            ListaTeorias.Insert(0, Todo)
            cbTeoria.ItemsSource = ListaTeorias
            cbTeoria.DisplayMemberPath = "TituloTeoria"
            Me.cbTeoria.SelectedItem = Me.cbTeoria.Items(0)

            SiguientePregunta()
            Me.ExpRonda.IsExpanded = True
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub btnAplicar_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles btnAplicar.Click
        SiguientePregunta()
    End Sub

    Private Sub tbEstadisticas_PreviewMouseLeftButtonUp(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles tbEstadisticas.PreviewMouseLeftButtonUp
        Try
            Dim frmEstad As New frmEstadisticas
            frmEstad.inicializa(CStr(CType(cbNivel.SelectedItem, ComboBoxItem).Content))
            frmEstad.ShowDialog()
            frmEstad.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub tbAnalisiRonda_PreviewMouseLeftButtonUp(sender As Object, e As System.Windows.Input.MouseButtonEventArgs) Handles tbAnalisiRonda.PreviewMouseLeftButtonUp
        Dim frm As New frmAnalisiRonda
        frm.ShowDialog()
        frm.Close()
    End Sub

    Private Sub MainWindow_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Input.KeyEventArgs) Handles Me.KeyUp
        Try
            TrataTeclasEspeciales(e)
        Catch ex As Exception
            MsgBox(ex.ToString)
            Me.btnSiguiente.Focus()
        End Try
    End Sub

    Private Sub btnSiguiente_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnSiguiente.Click
        Try
            GuardaRespuestaYSiguientePregunta()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

#End Region

#Region "Funciones privadas"

    Private Sub GuardaRespuestaYSiguientePregunta()
        If Me.PreguntaEjercicio1.hayRespuesta Then
            If CStr(CType(cbModo.SelectedItem, ComboBoxItem).Content) = "Exámen" Then
                Me.PreguntaEjercicio1.GuardaRespuesta()
            End If
            SiguientePregunta()
        End If

    End Sub

    Private Sub SiguientePregunta()

        Dim ejer As TiposDatosSTE.Ejercicio = Nothing
        Dim estadRonda As Agente.EstadisticasRonda = Nothing
        Agente.PreguntaEjercicio(CStr(CType(cbNivel.SelectedItem, ComboBoxItem).Content), _
                                 CStr(CType(cbTipoEjercicio.SelectedItem, ComboBoxItem).Content), _
                                 CStr(CType(cbTipoEjercicio.SelectedItem, ComboBoxItem).Content), _
                                 ejer, estadRonda)

        Me.PreguntaEjercicio1.MuestraPregunta(ejer)
        Me.UsrInfoEjercicio1.inicializa(ejer)
        Me.UsrInfoRonda1.inicializa(estadRonda)
    End Sub

    Private Sub TrataTeclasEspeciales(ByVal e As System.Windows.Input.KeyEventArgs)
        If e.Key = Key.F2 Then
            GuardaRespuestaYSiguientePregunta()
            Me.PreguntaEjercicio1.FocoEnRespuesta()
        ElseIf e.Key = Key.F3 Then
            Me.PreguntaEjercicio1.MuestraSolucion()
            Me.PreguntaEjercicio1.FocoEnRespuesta()
        ElseIf e.Key = Key.F4 Then
            Me.PreguntaEjercicio1.MarcaCorrecto()
            Me.PreguntaEjercicio1.FocoEnRespuesta()
        ElseIf e.Key = Key.F5 Then
            Me.PreguntaEjercicio1.AbrePantallaTipoError()
            Me.PreguntaEjercicio1.FocoEnRespuesta()
        ElseIf e.Key = Key.F8 Then
            Me.ExpEjer.IsExpanded = Not Me.ExpEjer.IsExpanded
        End If



    End Sub

#End Region

    
End Class
